package main
import (
	"fmt"
	"net"
	
)

//写协程的时候，一个主进程for，几个协程，不能全都写成协程，会导致程序直接结束

//创建一个协程处理发送过来的消息
func ListenConn(conn net.Conn){
	for {
		res := make([]byte,300)
		_, errr := conn.Read(res)
		if errr != nil{
			fmt.Println("连接失败")
			return
		}
		fmt.Println(string(res))
	}
}

func main(){
	tcpAddr, _ := net.ResolveTCPAddr("tcp4", "127.0.0.1:8888")
	conn, err := net.DialTCP("tcp", nil, tcpAddr)
	if err != nil {
		fmt.Println("创建套接字失败")
		return
	}
	go ListenConn(conn)

	for{
		var str string
		fmt.Scan(&str)
		k, errr := conn.Write([]byte(str+"\n"))
		if errr != nil {
			fmt.Println("发送失败",k)
			return
		}
		fmt.Println("发送字符串:"+str)
	}
}